﻿using Refit;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.Json.Serialization;
using System.Threading.Tasks;

namespace IM.Easy.Core.OAuth
{
    public class OAuthTokenResponse
    {
        /// <summary>
        /// 访问令牌，用于授权后的 API 调用。
        /// </summary>
        //[AliasAs("access_token")]
        [JsonPropertyName("access_token")]
        public string AccessToken { get; set; }

        /// <summary>
        /// 令牌类型，通常为 "Bearer"。
        /// </summary>
        [JsonPropertyName("token_type")]
        public string TokenType { get; set; }

        /// <summary>
        /// 令牌的有效期，单位为秒。
        /// </summary>
        [JsonPropertyName("expires_in")]
        public int ExpiresIn { get; set; }

        /// <summary>
        /// 刷新令牌，用于获取新的访问令牌。
        /// </summary>
        [JsonPropertyName("refresh_token")]
        public string RefreshToken { get; set; }

        /// <summary>
        /// 授权范围，指明令牌的权限。
        /// </summary>
        [JsonPropertyName("scope")]
        public string Scope { get; set; }

        /// <summary>
        /// 令牌创建时间的时间戳。
        /// </summary>
        [JsonPropertyName("created_at")]
        public long CreatedAt { get; set; }
    }

}
